package com.huatai.datadevelop.entity;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * @author hecai
 * @description: TODO
 * @date 2022/11/29 11:36
 * @Version 1.0
 */
@ApiModel(value = "实时数据接口实体类",description = "实时数据接口实体类")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("realapi_manage")
public class RealApiManageEntity implements Serializable {
    private static final long serialVersionUID = 1L;

	@ApiModelProperty("实时数据接口id")
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 接口英文名称
     */
	@ApiModelProperty("接口英文名称")
    private String interfaceName = "";

    /**
     * 接口中文名称
     */
	@ApiModelProperty("接口中文名称")
    private String name = "";

    /**
     * 接口地址
     */
	@ApiModelProperty("接口地址")
    private String url = "";

    /**
     * 请求头参数
     */
	@ApiModelProperty("请求头参数")
    private String heard = "";

    /**
     * 是否需要token 1:是，2.否
     */
	@ApiModelProperty("是否需要token")
    private String needToken = "";

    /**
     * 所需token
     */
	@ApiModelProperty("所需token")
    private Integer tokenId;

    /**
     * token放置位置 请求url后面、请求头里面、请求body里面
     * param,heard,body
     */
	@ApiModelProperty("token放置位置")
    private String tokenPath = "";

    /**
     * token  参数名称
     * 如：token,access_token,sign等
     */
	@ApiModelProperty("参数名称")
    private String tokenData = "";

    /**
     * token默认前缀
     */
	@ApiModelProperty("token默认前缀")
    private String tokenPrefix = "";

    /**
     * 接口请求方式
     */
	@ApiModelProperty("接口请求方式")
    private String method = "";

    /**
     * 参数所处位置
     */
	@ApiModelProperty("参数所处位置")
    private String dataPath = "";

    /**
     * body请求参数
     */
	@ApiModelProperty("body请求参数")
    private String body = "";

    /**
     * url 参数
     */
	@ApiModelProperty("参数")
    private String param = "";

    /**
     * 是否取第一条
     * 1:是，2.否
     */
	@ApiModelProperty("是否取第一条")
    private String firstOne = "";

    /**
     * 是否需要key值替换
     * 1:是，2.否
     */
	@ApiModelProperty("是否需要key值替换")
    private String keyReplace = "";

    /**
     * 需要替换的值 需要处理成json格式
     */
	@ApiModelProperty("需要替换的值")
    private String keyReplaceValue = "";

    /**
     * 是否需要走缓存
     * 1:是，2.否
     */
	@ApiModelProperty("是否需要走缓存")
    private String redisNeed = "";

    /**
     * 接口返回数据类型： ArrayList、LinkedHashMap、String
     */
	@ApiModelProperty("接口返回数据类型")
    private String dataType = "";

    /**
     * 备注
     */
	@ApiModelProperty("备注")
    private String remark = "";

    /**
     * 处理请求的body参数
     */
	@ApiModelProperty("处理请求的body参数")
    @TableField(exist = false)
    private JSONObject jsonBody;

    /**
     * 请求头
     */
	@ApiModelProperty("请求头")
    @TableField(exist = false)
    private JSONObject jsonHeard;

    /**
     * key值替换字符串
     */
	@ApiModelProperty("key值替换字符串")
    @TableField(exist = false)
    private JSONObject jsonKeyReplaceValue;
}
